Here's a quick list of all Proxomitron's special characters. See Matching Rules for more detailed explanations.
Matching meta characters
* | match a string of any characters. |
? | match any single character. |
[abc] | match any single character listed in the brackets. |
[^a-z] | match any single character not listed in the brackets. |
[#x:y] | numeric range match. Supports negative numbers. |
" " | (a Space) Always matches but also consumes any whitespace. |
\s | match string of whitespace only. |
\w | match any number of non-space characters except ">". |
\t | matches a single tab character. |
\r | matches a single carriage return character. |
\n | matches a single newline character. |
\0-9 | put match into a variable - works like "*" unless following stuff in parentheses: "( ... )\1" |
\# | append match on to replacement stack. |
& | AND function. |
&& | AND-AND (like AND but limits scope of second part). |
| | OR function. |
(^...) | NOT function. |
(...) | group a sub-expression. Negate with "(^ ... )" |
+ | repeat previous match until there are no more left. |
++ | same as '+' except matches to up to the point where what follows is true. |
+{5} | the + or ++ pattern run will match only 5 repetitions. |
+{2,7} | the + or ++ pattern run will match 2 to 7 repetitions. |
+{3,*} | the + or ++ pattern run will match 3 or more repetitions. |
\ | escape any meta character's special meaning. |
= | magic equal - absorbs leading/trailing spaces. |
" | magic quote - matches double or single quote. |
' | smart ending quote - use to deal with nested quotes. |
<start> | insert this at the beginning of a page |
<end> | insert this at the end of a page |
Special Matching Commands
(m=matching value r=replacement text b=boolean value)
$AV(m) | match an attribute's value excluding any quotes |
$AVQ(m) | match an attribute's value including any quotes |
$CON(x,y,[z]) | test current connection number |
$ESC(stuff) | Escape special characters in a string to make it URL safe (reverse of $UESC) |
$FILTER(b) | force filtering or not |
$IHDR(header: m) | match input headers |
$INEST(start,[m],end) | like nest, but assumes inital tag already matched |
$JUMP(url) | redirect URL (non-transparent) |
$LST(listname) | include a blocklist in any matching expression |
$NEST(start,[m],end) | find pair of nested tags |
$OHDR(header: m) | match output headers |
$RDIR(url) | redirect URL (transparent) |
$SET(0=r) | set a positional variable (\0-9 or \#) to a specific value. |
$SETPROXY | select a particular proxy for connection . |
$STOP() | turn filter off for rest of page |
$TYPE(type value) | check type of page being processed |
$UESC(stuff) | remove hexidecimal "%xx" style URL escapes |
$URL(m) | match a the URL inside the matching portion of a filter. |
$USEPROXY(b) | turn external proxy on or off for connection |
Replacement Text Escapes
\0-9 | Insert a variable into the replacement text. |
\# | Inserts one item from the replacement stack each time it is used - first in first out |
\@ | Insert all the items in the replacement stack. |
\\ | Insert a single backslash. |
\a | Insert any anchor text from a URL (anything following a "#"). |
\d | Insert The Proxomitron base directory in "file://" URL format. |
\h | Insert the host portion of the URL. |
\k | Kills the current connection. |
\p | Insert the path portion of the URL. |
\q | Insert any query string from a URL (anything following a "?"). |
\u | Insert the full URL of the current web page. |
\x | Insert URL command prefix if defined. |
Return to main index